package pe.gob.osce.sirenas.wd.jsf.bean.publica;
/*
* Resumen.
* Objeto 				:	RegistroArbitroBean.java
* Descripcion 			: 	.
* Fecha de Creacion 	: 	26/02/2015.
* Pry de Creacion 		: 	RNA/RNS.
* Autor 				: 	Julio Cayulla.
* ================================================================================================
* Modificaciones
* Motivo						Fecha		Nombre				Descripcion
* ================================================================================================
*
*/
import java.io.Serializable;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;

import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

import org.apache.log4j.Logger;
import org.primefaces.context.RequestContext;
import org.primefaces.event.TabChangeEvent;

import pe.gob.osce.sirenas.model.AcreditacionDTO;
import pe.gob.osce.sirenas.model.CapacitacionDTO;
import pe.gob.osce.sirenas.model.DocenciaDTO;
import pe.gob.osce.sirenas.model.EspecialidadAcademicaDTO;
import pe.gob.osce.sirenas.model.ExperienciaLaboralDTO;
import pe.gob.osce.sirenas.model.FichaArbitralDTO;
import pe.gob.osce.sirenas.model.FiscalizaEntidadDTO;
import pe.gob.osce.sirenas.model.FormacionAcademicaDTO;
import pe.gob.osce.sirenas.model.TrayectoriaArbitralDTO;
import pe.gob.osce.sirenas.svc.RegistrarFichaArbitroServiceLocal;
import pe.gob.osce.sirenas.svc.RegistrarFiscalizacionServiceLocal;
import pe.gob.osce.sirenas.wd.util.ConstanteWeb;
import pe.gob.osce.sirenas.wd.util.RepositorioDatos;
import pe.gob.osce.sirenas.wd.util.UBaseManage;

@ManagedBean(name="fichaArbitroBean")
@SessionScoped
public class FichaArbitroBean extends UBaseManage implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 3314522009950948362L;


	final static Logger log = Logger.getLogger(FichaArbitroBean.class);
	
	@EJB
	private	RegistrarFichaArbitroServiceLocal	registrarFichaArbitroService;
	@EJB
	private	RegistrarFiscalizacionServiceLocal	registrarFiscalizacionService;

	ResourceBundle propSirenas = ResourceBundle.getBundle(ConstanteWeb.PROPERTIES);
	
	private RepositorioDatos repositorioDatos;
    private String console; 
    
    private RequestContext context; 
	private Integer indicadorEspecialidad;
	
	private Integer valorReglaAcademica;
	private Integer valorReglaLaboral;
	private Integer valorReglaDocencia;
	private Integer valorReglaArbPublico;
	private Long 	valorReglaHorasMin;
	
	
	private Integer totalEspAcademicaContrataciones=0;
	private Integer totalEspAcademicaArbitraje=0;
	private Integer totalEspAcademicaDerechoAdm=0;

	private Integer totalDocenciaContrataciones=0;
	private Integer totalDocenciaArbitraje=0;
	private Integer totalDocenciaDerechoAdm=0;

	private Integer totalArbPublicoContrataciones=0;
	private Integer totalArbPublicoArbitraje=0;
	
	private Integer totalArbPrivadoArbitraje=0;

	private Integer mesesLaboralContratacion=0;
	private Integer mesesLaboralArbitraje=0;
	private Integer mesesLaboralDerechoAdm=0;
	
	private String totalLaboralContratacion;
	private String totalLaboralArbitraje;
	private String totalLaboralDerechoAdm;
	
	/*****FIN*****/
	private FiscalizaEntidadDTO fiscalizaEntidadDTO = new FiscalizaEntidadDTO();
	private FichaArbitralDTO fichaArbitral;
	private	FormacionAcademicaDTO arbFormacionAcademica = new FormacionAcademicaDTO();
	private	List<FormacionAcademicaDTO> listArbFormacionAcademica;
	private	List<FormacionAcademicaDTO> listArbFormacionAcademicaHistorial;
	
	/*************** Contrataciones- Arbitraje -----Derecho Administrativo  /*/
	
	private List<EspecialidadAcademicaDTO> listArbEspecialidadAcademica;
	private	List<CapacitacionDTO> listArbEspecialCapacitacion;	
	private	List<DocenciaDTO> listArbEspecialDocencia;	
	private	List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPublic;	
	private	List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPriv;	
	private	List<ExperienciaLaboralDTO> listArbEspecialExperienciaLaboral;

	private List<EspecialidadAcademicaDTO> listArbEspecialidadAcademicaHistorial;
	private	List<CapacitacionDTO> listArbEspecialCapacitacionHistorial;
	private	List<DocenciaDTO> listArbEspecialDocenciaHistorial;
	private	List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPublicHistorial;
	private	List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPrivHistorial;
	private	List<ExperienciaLaboralDTO> listArbEspecialExperienciaLaboralHistorial;
	
	private List<AcreditacionDTO> listaAcreditaciones;
	private AcreditacionDTO acreditacionContrataciones; 
	private AcreditacionDTO acreditacionArbitraje; 
	private AcreditacionDTO acreditacionDerechoAdm;
	
	private Integer indiceListaFormacion;
	private Boolean otrosCentroEstudios;
	private String codTramite;
	
	public String verFichaArbitroPublico() throws ParseException {		
		establecerObjetoSession(ConstanteWeb.IND_CARGAR_LISTAS, false);
		
		this.arbFormacionAcademica= new FormacionAcademicaDTO();	
		this.listArbFormacionAcademica=new ArrayList<FormacionAcademicaDTO>();
		this.arbFormacionAcademica= new FormacionAcademicaDTO();
		this.listArbFormacionAcademicaHistorial=new ArrayList<FormacionAcademicaDTO>();

		List<AcreditacionDTO> listaAcreditaciones = new ArrayList<AcreditacionDTO>();
		establecerObjetoSession(ConstanteWeb.LISTA_ACREDITACIONES,listaAcreditaciones); 
		
		repositorioDatos=obtenerRepositorioDatos();
		fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO); 
		ObtenerListaFormacionAcademica();
		

		otrosCentroEstudios=true;
		return "verFichaArbitroPublico";
	}
	
	private void ObtenerListaFormacionAcademica(){
		this.indiceListaFormacion=1;
		try {
			this.listArbFormacionAcademica=registrarFichaArbitroService.obtenerFichaFormacionAcademica(fichaArbitral.getIdFicha());		

			if (listArbFormacionAcademica!= null) {
				for (FormacionAcademicaDTO formacionAcademicaDTO : listArbFormacionAcademica) {
					formacionAcademicaDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					formacionAcademicaDTO.setIndice(indiceListaFormacion);
					formacionAcademicaDTO.setDescAreaProfesion(repositorioDatos.getLabelAreaProfesion(formacionAcademicaDTO.getIdAreaProfesion()).toUpperCase());
					formacionAcademicaDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(formacionAcademicaDTO.getIdCentroEstudios()).toUpperCase());
					if(formacionAcademicaDTO.getDescripcionOtroCentro()!=null)
						formacionAcademicaDTO.setDescripcionOtroCentro(formacionAcademicaDTO.getDescripcionOtroCentro().toUpperCase());
					formacionAcademicaDTO.setDescPais(repositorioDatos.getLabelPais(formacionAcademicaDTO.getIdPais()).toUpperCase());
					formacionAcademicaDTO.setDescGradoObtenido(repositorioDatos.getLabelParametro(formacionAcademicaDTO.getIndGradoObtenido()).toUpperCase());
					formacionAcademicaDTO.setDescripcionGrado(formacionAcademicaDTO.getDescripcionGrado().toUpperCase());
					indiceListaFormacion++;
				}
			}else{
				this.listArbFormacionAcademica=new ArrayList<FormacionAcademicaDTO>();
			}
			establecerObjetoSession(ConstanteWeb.LISTA_FORM_ACADEMICA,listArbFormacionAcademica);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	

	
	public void cancelarRectificacionEspecialidad(){
		
		this.listArbFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
		cerrarEspAcademicaHistorialPopup();
	}
	
	public void onChange(TabChangeEvent event) throws ParseException {
		String titulo=event.getTab().getTitle();
		establecerObjetoSession(ConstanteWeb.IND_CARGAR_LISTAS, false);		

		repositorioDatos=obtenerRepositorioDatos();
		fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO); 
		/**Valido si ya se cargaron las listas de Especialidades*/
		boolean indCargarListas=(boolean)obtenerObjetoSession(ConstanteWeb.IND_CARGAR_LISTAS);
		if(!indCargarListas){
			cargaListasEspecializacion();
			establecerObjetoSession(ConstanteWeb.IND_CARGAR_LISTAS, true);
		}
						
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_ARB_ACADEMICO))){
               //indicadorEspecialidad=Long.parseLong(ConstanteWeb.ESPECIALIDAD_CONTRATACIONES);
		}
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_ARB_CONTRATACIONES))){
			indicadorEspecialidad=ConstanteWeb.ESPECIALIDAD_CONTRATACIONES;
	               
		}
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_ARB_ARBITRAJE))){
			indicadorEspecialidad=ConstanteWeb.ESPECIALIDAD_ARBITRAJE;
		}
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_ARB_DERECHO))){
			indicadorEspecialidad=ConstanteWeb.ESPECIALIDAD_DERECHO_ADM;
		}
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_ARB_MODALIDAD))){
			cargaListasEspecializacion();
		}
	}	
	
	private void cargaListasEspecializacion(){		
		
		valorReglaAcademica= obtieneRegla(propSirenas.getString(ConstanteWeb.REG_ACADEMICA_TOTAL_HORAS));
		valorReglaLaboral=obtieneRegla(propSirenas.getString(ConstanteWeb.REG_LABORAL_TOTAL));
		valorReglaDocencia=obtieneRegla(propSirenas.getString(ConstanteWeb.REG_DOCENCIA_TOTAL));
		valorReglaArbPublico=obtieneRegla(propSirenas.getString(ConstanteWeb.REG_ARB_PUBLICO_TOTAL));
		valorReglaHorasMin=obtieneRegla(propSirenas.getString(ConstanteWeb.REG_ACADEMICA_TOTAL_HORAS)).longValue();
		limpiarObjetos();
		ObtenerListaAcreditaciones();
		ObtenerListaEspAcademica();
		ObtenerListaEspDocencia();
		ObtenerListaEspCapacitacion();
		ObtenerListaArbitrajePublico();
		ObtenerListaArbitrajePrivado();
		ObtenerListaExpLaboral();
	}
	
	public void limpiarObjetos(){	
		this.acreditacionContrataciones=null;
		this.acreditacionArbitraje=null;
		this.acreditacionDerechoAdm=null;
		
		 this.listArbEspecialidadAcademicaHistorial= new ArrayList<EspecialidadAcademicaDTO>();
		 this.listArbEspecialCapacitacionHistorial= new ArrayList<CapacitacionDTO>();
		 this.listArbEspecialDocenciaHistorial= new ArrayList<DocenciaDTO>();
		 this.listArbEspecialTrayectoriaArbitralPublicHistorial= new ArrayList<TrayectoriaArbitralDTO>();
		 this.listArbEspecialTrayectoriaArbitralPrivHistorial= new ArrayList<TrayectoriaArbitralDTO>();
		 this.listArbEspecialExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
		 		establecerObjetoSession(ConstanteWeb.LISTA_ESPECIALIZACION, this.listArbEspecialidadAcademica);
		establecerObjetoSession(ConstanteWeb.LISTA_DOCENCIA, this.listArbEspecialDocencia);	
		establecerObjetoSession(ConstanteWeb.LISTA_CAPACITACION, this.listArbEspecialCapacitacion);
		establecerObjetoSession(ConstanteWeb.LISTA_ARBITRAJE_PUB, this.listArbEspecialTrayectoriaArbitralPublic);
		establecerObjetoSession(ConstanteWeb.LISTA_ARBITRAJE_PRIV, this.listArbEspecialTrayectoriaArbitralPriv);
		establecerObjetoSession(ConstanteWeb.LISTA_EXP_LABORAL, this.listArbEspecialExperienciaLaboral);
		
		
	}
	
	public void ObtenerListaEspAcademica(){
		
		try {
			this.listArbEspecialidadAcademica=registrarFichaArbitroService.obtenerFichaExpecialidadAcademica(this.fichaArbitral.getIdFicha());

			if (listArbEspecialidadAcademica != null) {
				for (EspecialidadAcademicaDTO especialidadAcademicaDTO : listArbEspecialidadAcademica) {
					especialidadAcademicaDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
		
					especialidadAcademicaDTO.setDescripcionGrado(especialidadAcademicaDTO.getDescripcionGrado().toUpperCase());
					if(especialidadAcademicaDTO.getDescripcionOtroCentro()!=null)
						especialidadAcademicaDTO.setDescripcionOtroCentro(especialidadAcademicaDTO.getDescripcionOtroCentro().toUpperCase());
					especialidadAcademicaDTO.setDescTipoFormacion(repositorioDatos.getLabelParametro(especialidadAcademicaDTO.getIndTipoFormacion().longValue()).toUpperCase());
					especialidadAcademicaDTO.setDescPais(repositorioDatos.getLabelPais(especialidadAcademicaDTO.getIdPais().longValue()).toUpperCase());
					especialidadAcademicaDTO.setDescAreaProfesion(repositorioDatos.getLabelAreaProfesion(especialidadAcademicaDTO.getIdAreaProfesion()).toUpperCase());
					especialidadAcademicaDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(especialidadAcademicaDTO.getIdCentroEstudios()).toUpperCase());
					especialidadAcademicaDTO.setDescGradoObtenido(repositorioDatos.getLabelParametro(especialidadAcademicaDTO.getIndGradoObtenido().longValue()).toUpperCase());
		
				}
			}else{
				this.listArbEspecialidadAcademica=new ArrayList<EspecialidadAcademicaDTO>();
			}
			calculaTotalEspAcademica();
			establecerObjetoSession(ConstanteWeb.LISTA_ESPECIALIZACION, this.listArbEspecialidadAcademica);
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}

	public void ObtenerListaEspDocencia(){
		
		try {
			this.listArbEspecialDocencia=registrarFichaArbitroService.obtenerFichaDocencia(this.fichaArbitral.getIdFicha());
			
			if (listArbEspecialDocencia!= null) {
				for (DocenciaDTO docenciaDTO : listArbEspecialDocencia) {
					docenciaDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					
					docenciaDTO.setDescripcionCurso(docenciaDTO.getDescripcionCurso().toUpperCase());					
					docenciaDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(docenciaDTO.getIdCentroEstudios().longValue()).toUpperCase().toUpperCase());
					docenciaDTO.setDescTipoActividad(repositorioDatos.getLabelParametro(docenciaDTO.getIndTipoActividad().longValue()).toUpperCase().toUpperCase());
					docenciaDTO.setDescTipoDuracion(repositorioDatos.getLabelParametro(docenciaDTO.getIndTipoDuracion().longValue()).toUpperCase());
					
				}								  
			}else{
				this.listArbEspecialDocencia=new ArrayList<DocenciaDTO>();
			}
			calculaTotalDocencia();
			establecerObjetoSession(ConstanteWeb.LISTA_DOCENCIA, this.listArbEspecialDocencia);	
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}

	public void ObtenerListaEspCapacitacion(){
	
		try {
			this.listArbEspecialCapacitacion=registrarFichaArbitroService.obtenerFichaCapacitacion(this.fichaArbitral.getIdFicha());
			
			if (listArbEspecialCapacitacion != null) {
				for (CapacitacionDTO capacitacionDTO : listArbEspecialCapacitacion) {
					capacitacionDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					capacitacionDTO.setNomCapacitacion(capacitacionDTO.getNomCapacitacion().toUpperCase());
					capacitacionDTO.setNomInstitucion(capacitacionDTO.getNomInstitucion().toUpperCase());
				
				}
				establecerObjetoSession(ConstanteWeb.LISTA_CAPACITACION, this.listArbEspecialCapacitacion);
			}
			else
			{
				this.listArbEspecialCapacitacion= new ArrayList<CapacitacionDTO>();
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
	
	public void ObtenerListaArbitrajePublico(){
		
		try {
			this.listArbEspecialTrayectoriaArbitralPublic=registrarFichaArbitroService.obtenerFichaTrayectoria(this.fichaArbitral.getIdFicha(),"PUBLICA");
			
			if (listArbEspecialTrayectoriaArbitralPublic!= null) {
				for (TrayectoriaArbitralDTO trayectoriaArbitralDTO : listArbEspecialTrayectoriaArbitralPublic) {
					trayectoriaArbitralDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					
					trayectoriaArbitralDTO.setNomEntidad(trayectoriaArbitralDTO.getNomEntidad().toUpperCase());
					trayectoriaArbitralDTO.setNomContratista(trayectoriaArbitralDTO.getNomContratista().toUpperCase());
					trayectoriaArbitralDTO.setObjContratacion(trayectoriaArbitralDTO.getObjContratacion().toUpperCase());
					trayectoriaArbitralDTO.setNumContrato(trayectoriaArbitralDTO.getNumContrato().toUpperCase());
					trayectoriaArbitralDTO.setProcesoSeleccion(trayectoriaArbitralDTO.getProcesoSeleccion().toUpperCase());					
					trayectoriaArbitralDTO.setDescMateriaControvertida(repositorioDatos.getLabelParametro(trayectoriaArbitralDTO.getIdMateriaControvertida().longValue()).toUpperCase());
					trayectoriaArbitralDTO.setDescTipoArbitraje(repositorioDatos.getLabelParametro(trayectoriaArbitralDTO.getIndTipoArbitraje().longValue()).toUpperCase());
					
				}
			}else{
				this.listArbEspecialTrayectoriaArbitralPublic=new ArrayList<TrayectoriaArbitralDTO>();
			}
			calculaTotalArbPublico();
			establecerObjetoSession(ConstanteWeb.LISTA_ARBITRAJE_PUB, this.listArbEspecialTrayectoriaArbitralPublic);
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}

	public void ObtenerListaArbitrajePrivado(){
		
		try {
			this.listArbEspecialTrayectoriaArbitralPriv=registrarFichaArbitroService.obtenerFichaTrayectoria(this.fichaArbitral.getIdFicha(),"PRIVADO");
			
			if (listArbEspecialTrayectoriaArbitralPriv!= null) {
				for (TrayectoriaArbitralDTO trayectoriaArbitralDTO : listArbEspecialTrayectoriaArbitralPriv) {
					trayectoriaArbitralDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					
					
					trayectoriaArbitralDTO.setNomEntidad(trayectoriaArbitralDTO.getNomEntidad().toUpperCase());
					trayectoriaArbitralDTO.setNomContratista(trayectoriaArbitralDTO.getNomContratista().toUpperCase());					
					trayectoriaArbitralDTO.setNumContrato(trayectoriaArbitralDTO.getNumContrato().toUpperCase());						
					trayectoriaArbitralDTO.setDescMateriaControvertida(repositorioDatos.getLabelParametro(trayectoriaArbitralDTO.getIdMateriaControvertida().longValue()).toUpperCase());
					trayectoriaArbitralDTO.setDescTipoArbitraje(repositorioDatos.getLabelParametro(trayectoriaArbitralDTO.getIndTipoArbitraje().longValue()).toUpperCase());
					
				}
				establecerObjetoSession(ConstanteWeb.LISTA_ARBITRAJE_PRIV, this.listArbEspecialTrayectoriaArbitralPriv);
			}else{
				this.listArbEspecialTrayectoriaArbitralPriv=new ArrayList<TrayectoriaArbitralDTO>();
			}
			calculaTotalArbPrivado();
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
	public String convertAString(boolean indicador){
		if(indicador==true){
			return "SI";
		}else{
			return "NO";
		}
		
	}
	public void ObtenerListaExpLaboral(){
		
		try {
			this.listArbEspecialExperienciaLaboral=registrarFichaArbitroService.obtenerFichaExpLaboral(this.fichaArbitral.getIdFicha());
			
			if (listArbEspecialExperienciaLaboral!= null) {
				for (ExperienciaLaboralDTO experienciaLaboralDTO : listArbEspecialExperienciaLaboral) {
					experienciaLaboralDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					experienciaLaboralDTO.setNomCentroTrabajo(experienciaLaboralDTO.getNomCentroTrabajo().toUpperCase());
					experienciaLaboralDTO.setDescripcionCargo(experienciaLaboralDTO.getDescripcionCargo().toUpperCase());
					experienciaLaboralDTO.setVigente(convertAString(experienciaLaboralDTO.getIndicadorActual()));
					
					
				}
				establecerObjetoSession(ConstanteWeb.LISTA_EXP_LABORAL, this.listArbEspecialExperienciaLaboral);
			}else{
				this.listArbEspecialExperienciaLaboral= new ArrayList<ExperienciaLaboralDTO>();
			}
			calculaTotalExpLaboral();
			
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
	
	
	
	
	
	
	public void ObtenerListaAcreditaciones(){
		try {
			this.listaAcreditaciones=registrarFichaArbitroService.obtenerListaAcreditaciones(this.fichaArbitral.getIdFicha());

			if (listaAcreditaciones != null) {
				for (AcreditacionDTO acreditacionDTO : listaAcreditaciones) {
					if(acreditacionDTO.getIndEspecialidad().equals(ConstanteWeb.ESPECIALIDAD_CONTRATACIONES)){
						this.acreditacionContrataciones=acreditacionDTO;
					}
					if(acreditacionDTO.getIndEspecialidad().equals(ConstanteWeb.ESPECIALIDAD_ARBITRAJE)){
						this.acreditacionArbitraje=acreditacionDTO;
					}
					if(acreditacionDTO.getIndEspecialidad().equals(ConstanteWeb.ESPECIALIDAD_DERECHO_ADM)){
						this.acreditacionDerechoAdm=acreditacionDTO;
					}
				}
			}else{
				this.listaAcreditaciones=new ArrayList<AcreditacionDTO>();
			}
			establecerObjetoSession(ConstanteWeb.LISTA_ACREDITACIONES, this.listaAcreditaciones);
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}

	
	public void calculaTotalExpLaboral(){
		/**Restablesco los valores a Cero, para iniciar el conteo de Arbitrajes registrados*/
		this.mesesLaboralContratacion=0;
		this.mesesLaboralArbitraje=0;
		this.mesesLaboralDerechoAdm=0;
		this.totalLaboralContratacion="";
		this.totalLaboralArbitraje="";
		this.totalLaboralDerechoAdm="";
		Date iniContrataciones=new Date();
		Date finContrataciones=new Date();
		Date iniArbitraje=new Date();
		Date finArbitraje=new Date();
		Date iniDerecho=new Date();
		Date finDerecho=new Date();
	//	Date fecEgreso = new Date();
		for (ExperienciaLaboralDTO experienciaLaboralDTO : this.listArbEspecialExperienciaLaboral) {
			if(experienciaLaboralDTO.getEstado()==1L){//Solo contabilizo Registros Activos
				/**Para Arbitrajes solo se tiene que hacer un conteo de la Cantidad de Registros Consignados*/
				if( experienciaLaboralDTO.getFecEgreso()==null)
				{
					experienciaLaboralDTO.setFecEgreso( new Date());
				}
				
				if(experienciaLaboralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_CONTRATACIONES){
					iniContrataciones=comparoFecha(experienciaLaboralDTO.getFecIngreso(), iniContrataciones, 1);
					if(experienciaLaboralDTO.getIndicadorActual()){experienciaLaboralDTO.setFecEgreso(new Date());}
					finContrataciones=comparoFecha(experienciaLaboralDTO.getFecEgreso(), finContrataciones, 2);
				}if(experienciaLaboralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_ARBITRAJE){
					iniArbitraje=comparoFecha(experienciaLaboralDTO.getFecIngreso(), iniArbitraje, 1);
					if(experienciaLaboralDTO.getIndicadorActual()){experienciaLaboralDTO.setFecEgreso(new Date());}
					finArbitraje=comparoFecha(experienciaLaboralDTO.getFecEgreso(), finArbitraje, 2);
				}if(experienciaLaboralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_DERECHO_ADM){
					iniDerecho=comparoFecha(experienciaLaboralDTO.getFecIngreso(), iniDerecho, 1);
					if(experienciaLaboralDTO.getIndicadorActual()){experienciaLaboralDTO.setFecEgreso(new Date());}
					finDerecho=comparoFecha(experienciaLaboralDTO.getFecEgreso(), finDerecho, 2);					
				}
			}
		}
		Object[] totalesContrataciones=diferenciaEntreFechas(iniContrataciones, finContrataciones);
		this.totalLaboralContratacion=totalesContrataciones[0]+" años "+totalesContrataciones[1]+" meses";
		this.mesesLaboralContratacion=((int)totalesContrataciones[0]*12)+(int)totalesContrataciones[1];
		
		Object[] totalesArbitraje=diferenciaEntreFechas(iniArbitraje, finArbitraje);
		this.totalLaboralArbitraje=totalesArbitraje[0]+" años "+totalesArbitraje[1]+" meses";
		this.mesesLaboralArbitraje=((int)totalesArbitraje[0]*12)+(int)totalesArbitraje[1];

		Object[] totalesDerecho=diferenciaEntreFechas(iniDerecho, finDerecho);
		this.totalLaboralDerechoAdm=totalesDerecho[0]+" años "+totalesDerecho[1]+" meses";
		this.mesesLaboralDerechoAdm=((int)totalesDerecho[0]*12)+(int)totalesDerecho[1];
		
	}
	
	public void calculaTotalArbPrivado(){
		/**Restablesco los valores a Cero, para iniciar el conteo de Arbitrajes registrados*/
		totalArbPrivadoArbitraje=0;
		for (TrayectoriaArbitralDTO trayectoriaArbitralDTO : this.listArbEspecialTrayectoriaArbitralPriv) {
			if(trayectoriaArbitralDTO.getEstado()==1L){//Solo contabilizo Registros Activos
				if(trayectoriaArbitralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_ARBITRAJE){
					totalArbPrivadoArbitraje++;
				}
			}
		}
	}
	
	public void calculaTotalArbPublico(){
		/**Restablesco los valores a Cero, para iniciar el conteo de Arbitrajes registrados*/
		totalArbPublicoContrataciones=0;
		totalArbPublicoArbitraje=0;
		for (TrayectoriaArbitralDTO trayectoriaArbitralDTO : this.listArbEspecialTrayectoriaArbitralPublic) {
			if(trayectoriaArbitralDTO.getEstado()==1L){//Solo contabilizo Registros Activos
				/**Para Arbitrajes solo se tiene que hacer un conteo de la Cantidad de Registros Consignados*/
				if(trayectoriaArbitralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_CONTRATACIONES){
					totalArbPublicoContrataciones++;
				}if(trayectoriaArbitralDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_ARBITRAJE){
					totalArbPublicoArbitraje++;
				}
			}
		}
	}
	public void calculaTotalDocencia(){
		totalDocenciaContrataciones=0;
		totalDocenciaArbitraje=0;
		totalDocenciaDerechoAdm=0;
		for (DocenciaDTO docenciaDTO : this.listArbEspecialDocencia) {
			if(docenciaDTO.getEstado()==1L){//Solo contabilizo Registros Activos
				if(docenciaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_CONTRATACIONES){
					totalDocenciaContrataciones+=obtenerHoraPorTipoDuracion(docenciaDTO);
				}if(docenciaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_ARBITRAJE){
					totalDocenciaArbitraje+=obtenerHoraPorTipoDuracion(docenciaDTO);
				}if(docenciaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_DERECHO_ADM){
					totalDocenciaDerechoAdm+=obtenerHoraPorTipoDuracion(docenciaDTO);
				}
			}
		}
	}
	
	public Integer obtenerHoraPorTipoDuracion(DocenciaDTO docenciaDTO){
		String enlaceRegla=repositorioDatos.getDescriptionParametro(docenciaDTO.getIndTipoDuracion());
		Integer totalHoras=0;
		//Determino si se hara una conversion de Años a Ciclos a horas
		if(enlaceRegla.equals(propSirenas.getString(ConstanteWeb.REG_VALOR_ANIO_CICLO))){
			totalHoras=docenciaDTO.getDuracion().intValue() * obtieneRegla(propSirenas.getString(ConstanteWeb.REG_VALOR_ANIO_CICLO));
			enlaceRegla=propSirenas.getString(ConstanteWeb.REG_VALOR_CICLO_HORA);//Para que continue con la Conversion de Ciclos a Horas
		}
		//Determino si se hara una conversion de Ciclos a horas
		if(enlaceRegla.equals(propSirenas.getString(ConstanteWeb.REG_VALOR_CICLO_HORA))){
			if(totalHoras==0){
				totalHoras=docenciaDTO.getDuracion().intValue() * obtieneRegla(propSirenas.getString(ConstanteWeb.REG_VALOR_CICLO_HORA));	
			}else{
				totalHoras=totalHoras * obtieneRegla(propSirenas.getString(ConstanteWeb.REG_VALOR_CICLO_HORA));	
			}
		}else{//ADiciono las Horas
			totalHoras=+docenciaDTO.getDuracion().intValue();
		}
		return totalHoras;
	}
	
	/**FINAL DE Evaluacion de ACreditacion de Especialidad*/
	public Integer obtieneRegla(String regla){
		Integer valorRegla=null;
		for (SelectItem item : repositorioDatos.getListaReglas()) {
			if(item.getLabel().equals(regla)){
				valorRegla=Integer.parseInt(""+item.getValue());
			}
		}
		return valorRegla;
	}
	
	
	public void calculaTotalEspAcademica(){
		totalEspAcademicaContrataciones=0;
		totalEspAcademicaArbitraje=0;
		totalEspAcademicaDerechoAdm=0;
		for (EspecialidadAcademicaDTO especialidadAcademicaDTO : listArbEspecialidadAcademica) {
			if(especialidadAcademicaDTO.getEstado()==1L){//Solo contabilizo Registros Activos
				if(especialidadAcademicaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_CONTRATACIONES){
					totalEspAcademicaContrataciones+=especialidadAcademicaDTO.getDuracion().intValue();
				}if(especialidadAcademicaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_ARBITRAJE){
					totalEspAcademicaArbitraje+=especialidadAcademicaDTO.getDuracion().intValue();
				}if(especialidadAcademicaDTO.getIndEspecialidad()==ConstanteWeb.ESPECIALIDAD_DERECHO_ADM){
					totalEspAcademicaDerechoAdm+=especialidadAcademicaDTO.getDuracion().intValue();
				}
			}
		}
	}
	/**
     * Metodo que Agregar una nueva formacion academica a la Grilla 
     
     * @throws EJBException genera una excepción en caso de error.
     */
	
	

	
	

	
	
	
	


	public void verHistorialFormacionAcademica(Long idFormacionAcademica ){
		
		try {
			this.listArbFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
			this.listArbFormacionAcademicaHistorial=registrarFichaArbitroService.consultarHistorialFormacionAcademica(idFormacionAcademica);
			
			if(this.listArbFormacionAcademicaHistorial!=null)
			{
				for (FormacionAcademicaDTO formacionAcademicaDTO : listArbFormacionAcademicaHistorial) {
					formacionAcademicaDTO.setDescripcionGrado(formacionAcademicaDTO.getDescripcionGrado().toUpperCase());
					if(formacionAcademicaDTO.getDescripcionOtroCentro()!=null)
						formacionAcademicaDTO.setDescripcionOtroCentro(formacionAcademicaDTO.getDescripcionOtroCentro().toUpperCase());
					formacionAcademicaDTO.setDescAreaProfesion(repositorioDatos.getLabelAreaProfesion(formacionAcademicaDTO.getIdAreaProfesion()).toUpperCase());
					formacionAcademicaDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(formacionAcademicaDTO.getIdCentroEstudios()).toUpperCase());
					formacionAcademicaDTO.setDescPais(repositorioDatos.getLabelPais(formacionAcademicaDTO.getIdPais()).toUpperCase());
					formacionAcademicaDTO.setDescGradoObtenido(repositorioDatos.getLabelParametro(formacionAcademicaDTO.getIndGradoObtenido()).toUpperCase());			
				}
			}
		} catch (Exception e) {
			this.listArbFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
		}
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogExperiencia').show();");
	}
	public void cerrarEspAcademicaHistorialPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogExperiencia').hide();");
	}


	
	
	
	
	public void verHistorialEspecialidadAcademica(Long idEspecialidadAcademica ){
		
		try {
			this.listArbEspecialidadAcademicaHistorial= new ArrayList<EspecialidadAcademicaDTO>();
			this.listArbEspecialidadAcademicaHistorial=registrarFichaArbitroService.consultarHistorialEspecialidadAcademica(idEspecialidadAcademica);
			
			if(this.listArbEspecialidadAcademicaHistorial!=null)
			{
				for (EspecialidadAcademicaDTO especialidadAcademicaHistorialDTO : listArbEspecialidadAcademicaHistorial) {
					especialidadAcademicaHistorialDTO.setDescTipoFormacion(repositorioDatos.getLabelParametro(especialidadAcademicaHistorialDTO.getIndTipoFormacion().longValue()));
					especialidadAcademicaHistorialDTO.setDescPais(repositorioDatos.getLabelPais(especialidadAcademicaHistorialDTO.getIdPais().longValue()));
					especialidadAcademicaHistorialDTO.setDescAreaProfesion(repositorioDatos.getLabelAreaProfesion(especialidadAcademicaHistorialDTO.getIdAreaProfesion()));
					especialidadAcademicaHistorialDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(especialidadAcademicaHistorialDTO.getIdCentroEstudios()));
					especialidadAcademicaHistorialDTO.setDescGradoObtenido(repositorioDatos.getLabelParametro(especialidadAcademicaHistorialDTO.getIndGradoObtenido().longValue()));			
				}
			}
		} catch (Exception e) {
			this.listArbEspecialidadAcademicaHistorial= new ArrayList<EspecialidadAcademicaDTO>();
		}
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogEspecialidadHistorial').show();");
	}
		public void cancelarPopupEspecialidadHistorial(){
		
		this.listArbEspecialidadAcademicaHistorial= new ArrayList<EspecialidadAcademicaDTO>();
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogEspecialidadHistorial').hide();");
	  }
	  

		 public void verHistorialCapacitacion(Long idCapacitacion){					
			try {
				this.listArbEspecialCapacitacionHistorial= new ArrayList<CapacitacionDTO>();
				this.listArbEspecialCapacitacionHistorial=registrarFichaArbitroService.consultarHistorialCapacitacion(idCapacitacion);
				
				
			} catch (Exception e) {
				this.listArbEspecialCapacitacionHistorial= new ArrayList<CapacitacionDTO>();
			}
			context = RequestContext.getCurrentInstance();
			context.execute("PF('dialogCapacitacionHistorial').show();");	
		}
		
		public void cancelarPopupCapacitacionHistorial(){
		
			this.listArbEspecialCapacitacionHistorial= new ArrayList<CapacitacionDTO>();
			cerrarEspCapacitacionHistorialPopup();
		}
		public void cerrarEspCapacitacionHistorialPopup(){
			context = RequestContext.getCurrentInstance();
			context.execute("PF('dialogCapacitacionHistorial').hide();");
		}
	
	
		
		 public void verHistorialDocencia(Long idDocencia){
				
				try {
					this.listArbEspecialDocenciaHistorial= new ArrayList<DocenciaDTO>();
					this.listArbEspecialDocenciaHistorial=registrarFichaArbitroService.consultarHistorialDocencia(idDocencia);
					
					
					if (listArbEspecialDocenciaHistorial!= null) {
						for (DocenciaDTO docenciaHistorialDTO : listArbEspecialDocenciaHistorial) {
							
							docenciaHistorialDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(docenciaHistorialDTO.getIdCentroEstudios().longValue()));
							docenciaHistorialDTO.setDescTipoActividad(repositorioDatos.getLabelParametro(docenciaHistorialDTO.getIndTipoActividad().longValue()));
							docenciaHistorialDTO.setDescTipoDuracion(repositorioDatos.getLabelParametro(docenciaHistorialDTO.getIndTipoDuracion().longValue()));
							
						}	
					}
				} catch (Exception e) {
					this.listArbEspecialDocenciaHistorial= new ArrayList<DocenciaDTO>();
				}
				context = RequestContext.getCurrentInstance();
				context.execute("PF('dialogDocenciaHistorial').show();");	
			}
			 public void cancelarPopupDocenciaHistorial(){
					
				 this.listArbEspecialDocenciaHistorial= new ArrayList<DocenciaDTO>();
					cerrarEspDocenciaHistorialPopup();
			  }
			public void cerrarEspDocenciaHistorialPopup(){
					context = RequestContext.getCurrentInstance();
					context.execute("PF('dialogDocenciaHistorial').hide();");
			}
		
		


			 public void verHistorialTrayectoriaArbitralPublica(Long idTrayectoria){
						
				try {
					this.listArbEspecialTrayectoriaArbitralPublicHistorial= new ArrayList<TrayectoriaArbitralDTO>();
					this.listArbEspecialTrayectoriaArbitralPublicHistorial=registrarFichaArbitroService.consultarHistorialTrayectoriaArbitral(idTrayectoria);
					
					
					if (listArbEspecialTrayectoriaArbitralPublicHistorial!= null) {
						for (TrayectoriaArbitralDTO trayectoriaArbitralhistorialDTO : listArbEspecialTrayectoriaArbitralPublicHistorial) {					
							trayectoriaArbitralhistorialDTO.setDescMateriaControvertida(repositorioDatos.getLabelParametro(trayectoriaArbitralhistorialDTO.getIdMateriaControvertida().longValue()));
							trayectoriaArbitralhistorialDTO.setDescTipoArbitraje(repositorioDatos.getLabelParametro(trayectoriaArbitralhistorialDTO.getIndTipoArbitraje().longValue()));
							
						}	
					}
				} catch (Exception e) {
					this.listArbEspecialTrayectoriaArbitralPublicHistorial= new ArrayList<TrayectoriaArbitralDTO>();
				}
				context = RequestContext.getCurrentInstance();
				context.execute("PF('dialogTrayectoriaPublicaHistorial').show();");		
			}
			
			 public void cancelarPopupTrayectoriaArbitralPublicaHistorial(){
					
				 this.listArbEspecialTrayectoriaArbitralPublicHistorial= new ArrayList<TrayectoriaArbitralDTO>();
				 cerrarTrayectoriaArbitralPublicaHistorialPopup();
			  }
			public void cerrarTrayectoriaArbitralPublicaHistorialPopup(){
					context = RequestContext.getCurrentInstance();
					context.execute("PF('dialogTrayectoriaPublicaHistorial').hide();");
			}
			

			 public void verHistorialTrayectoriaArbitralPrivado(Long idTrayectoria){
						
				try {
					this.listArbEspecialTrayectoriaArbitralPrivHistorial= new ArrayList<TrayectoriaArbitralDTO>();
					this.listArbEspecialTrayectoriaArbitralPrivHistorial=registrarFichaArbitroService.consultarHistorialTrayectoriaArbitral(idTrayectoria);
					
					
					if (listArbEspecialTrayectoriaArbitralPrivHistorial!= null) {
						for (TrayectoriaArbitralDTO trayectoriaArbitralhistorialPrivDTO : listArbEspecialTrayectoriaArbitralPrivHistorial) {					
							trayectoriaArbitralhistorialPrivDTO.setDescMateriaControvertida(repositorioDatos.getLabelParametro(trayectoriaArbitralhistorialPrivDTO.getIdMateriaControvertida().longValue()));
							trayectoriaArbitralhistorialPrivDTO.setDescTipoArbitraje(repositorioDatos.getLabelParametro(trayectoriaArbitralhistorialPrivDTO.getIndTipoArbitraje().longValue()));
							
						}	
					}
				} catch (Exception e) {
					this.listArbEspecialTrayectoriaArbitralPrivHistorial= new ArrayList<TrayectoriaArbitralDTO>();
				}
				context = RequestContext.getCurrentInstance();
				context.execute("PF('dialogTrayectoriaPrivadoHistorial').show();");		
			}
			
			 public void cancelarPopupTrayectoriaArbitralPrivadoHistorial(){
					
				 this.listArbEspecialTrayectoriaArbitralPrivHistorial= new ArrayList<TrayectoriaArbitralDTO>();
				 cerrarTrayectoriaArbitralPrivadoHistorialPopup();
			  }
			public void cerrarTrayectoriaArbitralPrivadoHistorialPopup(){
					context = RequestContext.getCurrentInstance();
					context.execute("PF('dialogTrayectoriaPrivadoHistorial').hide();");
			}
			
			 public void verHistorialExperienciaLaboral(Long idExperienciaLaboral){
					
					try {
						this.listArbEspecialExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
						this.listArbEspecialExperienciaLaboralHistorial=registrarFichaArbitroService.consultarHistorialExperienciaLaboral(idExperienciaLaboral);
						
					} catch (Exception e) {
						this.listArbEspecialExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
					}
					
					context = RequestContext.getCurrentInstance();
					context.execute("PF('dialogExperienciaLaboralHistorial').show()");		
					
				}
			 public void cancelarPopupExperienciaLaboralHistorial(){
					
				 this.listArbEspecialExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
				 cerrarExperienciaLaboralHistorialPopup();
			  }
			public void cerrarExperienciaLaboralHistorialPopup(){
					context = RequestContext.getCurrentInstance();
					context.execute("PF('dialogExperienciaLaboralHistorial').hide();");
			}
	
			
	/**
	 * Metodo que permite obtener fichaArbitral.
	 * @return fichaArbitral , tipo FichaArbitralDTO.
	 */
	public FichaArbitralDTO getFichaArbitral() {
		return fichaArbitral;
	}

	/**
	 * Permite actualizar fichaArbitral.
	 * @param fichaArbitral, tipo FichaArbitralDTO.
	 */
	public void setFichaArbitral(FichaArbitralDTO fichaArbitral) {
		this.fichaArbitral = fichaArbitral;
	}

	public String getConsole() {
		return console;
	}
	public void setConsole(String console) {
		this.console = console;
	}
	
	public FormacionAcademicaDTO getArbFormacionAcademica() {
		return arbFormacionAcademica;
	}
	public void setArbFormacionAcademica(FormacionAcademicaDTO arbFormacionAcademica) {
		this.arbFormacionAcademica = arbFormacionAcademica;
	}
	public List<FormacionAcademicaDTO> getListArbFormacionAcademica() {
		return listArbFormacionAcademica;
	}
	public void setListArbFormacionAcademica(
			List<FormacionAcademicaDTO> listArbFormacionAcademica) {
		this.listArbFormacionAcademica = listArbFormacionAcademica;
	}	
	
	public RegistrarFichaArbitroServiceLocal getRegistrarFichaArbitroService() {
		return registrarFichaArbitroService;
	}
	public void setRegistrarFichaArbitroService(
			RegistrarFichaArbitroServiceLocal registrarFichaArbitroService) {
		this.registrarFichaArbitroService = registrarFichaArbitroService;
	}

	public Integer getIndicadorEspecialidad() {
		return indicadorEspecialidad;
	}

	public void setIndicadorEspecialidad(Integer indicadorEspecialidad) {
		this.indicadorEspecialidad = indicadorEspecialidad;
	}
	
	public List<FormacionAcademicaDTO> getListArbFormacionAcademicaHistorial() {
		return listArbFormacionAcademicaHistorial;
	}

	public void setListArbFormacionAcademicaHistorial(
			List<FormacionAcademicaDTO> listArbFormacionAcademicaHistorial) {
		this.listArbFormacionAcademicaHistorial = listArbFormacionAcademicaHistorial;
	}

	public Boolean getOtrosCentroEstudios() {
		return otrosCentroEstudios;
	}

	public void setOtrosCentroEstudios(Boolean otrosCentroEstudios) {
		this.otrosCentroEstudios = otrosCentroEstudios;
	}

	

	/**
	 * Permite actualizar esPendiente.
	 * @param esPendiente, tipo Boolean.
	 */

	/**
	 * Metodo que permite obtener fiscalizaEntidadDTO.
	 * @return fiscalizaEntidadDTO , tipo FiscalizaEntidadDTO.
	 */
	public FiscalizaEntidadDTO getFiscalizaEntidadDTO() {
		return fiscalizaEntidadDTO;
	}

	/**
	 * Permite actualizar fiscalizaEntidadDTO.
	 * @param fiscalizaEntidadDTO, tipo FiscalizaEntidadDTO.
	 */
	public void setFiscalizaEntidadDTO(FiscalizaEntidadDTO fiscalizaEntidadDTO) {
		this.fiscalizaEntidadDTO = fiscalizaEntidadDTO;
	}

	public String getCodTramite() {
		return codTramite;
	}

	public void setCodTramite(String codTramite) {
		this.codTramite = codTramite;
	}

	public List<EspecialidadAcademicaDTO> getListArbEspecialidadAcademica() {
		return listArbEspecialidadAcademica;
	}

	public void setListArbEspecialidadAcademica(
			List<EspecialidadAcademicaDTO> listArbEspecialidadAcademica) {
		this.listArbEspecialidadAcademica = listArbEspecialidadAcademica;
	}

	public List<CapacitacionDTO> getListArbEspecialCapacitacion() {
		return listArbEspecialCapacitacion;
	}

	public void setListArbEspecialCapacitacion(
			List<CapacitacionDTO> listArbEspecialCapacitacion) {
		this.listArbEspecialCapacitacion = listArbEspecialCapacitacion;
	}

	public List<DocenciaDTO> getListArbEspecialDocencia() {
		return listArbEspecialDocencia;
	}

	public void setListArbEspecialDocencia(List<DocenciaDTO> listArbEspecialDocencia) {
		this.listArbEspecialDocencia = listArbEspecialDocencia;
	}

	public List<TrayectoriaArbitralDTO> getListArbEspecialTrayectoriaArbitralPublic() {
		return listArbEspecialTrayectoriaArbitralPublic;
	}

	public void setListArbEspecialTrayectoriaArbitralPublic(
			List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPublic) {
		this.listArbEspecialTrayectoriaArbitralPublic = listArbEspecialTrayectoriaArbitralPublic;
	}

	public List<TrayectoriaArbitralDTO> getListArbEspecialTrayectoriaArbitralPriv() {
		return listArbEspecialTrayectoriaArbitralPriv;
	}

	public void setListArbEspecialTrayectoriaArbitralPriv(
			List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPriv) {
		this.listArbEspecialTrayectoriaArbitralPriv = listArbEspecialTrayectoriaArbitralPriv;
	}

	public List<ExperienciaLaboralDTO> getListArbEspecialExperienciaLaboral() {
		return listArbEspecialExperienciaLaboral;
	}

	public void setListArbEspecialExperienciaLaboral(
			List<ExperienciaLaboralDTO> listArbEspecialExperienciaLaboral) {
		this.listArbEspecialExperienciaLaboral = listArbEspecialExperienciaLaboral;
	}

	public List<EspecialidadAcademicaDTO> getListArbEspecialidadAcademicaHistorial() {
		return listArbEspecialidadAcademicaHistorial;
	}

	public void setListArbEspecialidadAcademicaHistorial(
			List<EspecialidadAcademicaDTO> listArbEspecialidadAcademicaHistorial) {
		this.listArbEspecialidadAcademicaHistorial = listArbEspecialidadAcademicaHistorial;
	}

	public List<CapacitacionDTO> getListArbEspecialCapacitacionHistorial() {
		return listArbEspecialCapacitacionHistorial;
	}

	public void setListArbEspecialCapacitacionHistorial(
			List<CapacitacionDTO> listArbEspecialCapacitacionHistorial) {
		this.listArbEspecialCapacitacionHistorial = listArbEspecialCapacitacionHistorial;
	}

	public List<DocenciaDTO> getListArbEspecialDocenciaHistorial() {
		return listArbEspecialDocenciaHistorial;
	}

	public void setListArbEspecialDocenciaHistorial(
			List<DocenciaDTO> listArbEspecialDocenciaHistorial) {
		this.listArbEspecialDocenciaHistorial = listArbEspecialDocenciaHistorial;
	}

	public List<TrayectoriaArbitralDTO> getListArbEspecialTrayectoriaArbitralPublicHistorial() {
		return listArbEspecialTrayectoriaArbitralPublicHistorial;
	}

	public void setListArbEspecialTrayectoriaArbitralPublicHistorial(
			List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPublicHistorial) {
		this.listArbEspecialTrayectoriaArbitralPublicHistorial = listArbEspecialTrayectoriaArbitralPublicHistorial;
	}

	public List<TrayectoriaArbitralDTO> getListArbEspecialTrayectoriaArbitralPrivHistorial() {
		return listArbEspecialTrayectoriaArbitralPrivHistorial;
	}

	public void setListArbEspecialTrayectoriaArbitralPrivHistorial(
			List<TrayectoriaArbitralDTO> listArbEspecialTrayectoriaArbitralPrivHistorial) {
		this.listArbEspecialTrayectoriaArbitralPrivHistorial = listArbEspecialTrayectoriaArbitralPrivHistorial;
	}

	public List<ExperienciaLaboralDTO> getListArbEspecialExperienciaLaboralHistorial() {
		return listArbEspecialExperienciaLaboralHistorial;
	}

	public void setListArbEspecialExperienciaLaboralHistorial(
			List<ExperienciaLaboralDTO> listArbEspecialExperienciaLaboralHistorial) {
		this.listArbEspecialExperienciaLaboralHistorial = listArbEspecialExperienciaLaboralHistorial;
	}

	public List<AcreditacionDTO> getListaAcreditaciones() {
		return listaAcreditaciones;
	}

	public void setListaAcreditaciones(List<AcreditacionDTO> listaAcreditaciones) {
		this.listaAcreditaciones = listaAcreditaciones;
	}

	public AcreditacionDTO getAcreditacionContrataciones() {
		return acreditacionContrataciones;
	}

	public void setAcreditacionContrataciones(
			AcreditacionDTO acreditacionContrataciones) {
		this.acreditacionContrataciones = acreditacionContrataciones;
	}

	public AcreditacionDTO getAcreditacionArbitraje() {
		return acreditacionArbitraje;
	}

	public void setAcreditacionArbitraje(AcreditacionDTO acreditacionArbitraje) {
		this.acreditacionArbitraje = acreditacionArbitraje;
	}

	public AcreditacionDTO getAcreditacionDerechoAdm() {
		return acreditacionDerechoAdm;
	}

	public void setAcreditacionDerechoAdm(AcreditacionDTO acreditacionDerechoAdm) {
		this.acreditacionDerechoAdm = acreditacionDerechoAdm;
	}

	public Integer getTotalEspAcademicaContrataciones() {
		return totalEspAcademicaContrataciones;
	}

	public void setTotalEspAcademicaContrataciones(
			Integer totalEspAcademicaContrataciones) {
		this.totalEspAcademicaContrataciones = totalEspAcademicaContrataciones;
	}

	public Integer getTotalEspAcademicaArbitraje() {
		return totalEspAcademicaArbitraje;
	}

	public void setTotalEspAcademicaArbitraje(Integer totalEspAcademicaArbitraje) {
		this.totalEspAcademicaArbitraje = totalEspAcademicaArbitraje;
	}

	public Integer getTotalEspAcademicaDerechoAdm() {
		return totalEspAcademicaDerechoAdm;
	}

	public void setTotalEspAcademicaDerechoAdm(Integer totalEspAcademicaDerechoAdm) {
		this.totalEspAcademicaDerechoAdm = totalEspAcademicaDerechoAdm;
	}

	public Integer getTotalDocenciaContrataciones() {
		return totalDocenciaContrataciones;
	}

	public void setTotalDocenciaContrataciones(Integer totalDocenciaContrataciones) {
		this.totalDocenciaContrataciones = totalDocenciaContrataciones;
	}

	public Integer getTotalDocenciaArbitraje() {
		return totalDocenciaArbitraje;
	}

	public void setTotalDocenciaArbitraje(Integer totalDocenciaArbitraje) {
		this.totalDocenciaArbitraje = totalDocenciaArbitraje;
	}

	public Integer getTotalDocenciaDerechoAdm() {
		return totalDocenciaDerechoAdm;
	}

	public void setTotalDocenciaDerechoAdm(Integer totalDocenciaDerechoAdm) {
		this.totalDocenciaDerechoAdm = totalDocenciaDerechoAdm;
	}

	public Integer getTotalArbPublicoContrataciones() {
		return totalArbPublicoContrataciones;
	}

	public void setTotalArbPublicoContrataciones(
			Integer totalArbPublicoContrataciones) {
		this.totalArbPublicoContrataciones = totalArbPublicoContrataciones;
	}

	public Integer getTotalArbPublicoArbitraje() {
		return totalArbPublicoArbitraje;
	}

	public void setTotalArbPublicoArbitraje(Integer totalArbPublicoArbitraje) {
		this.totalArbPublicoArbitraje = totalArbPublicoArbitraje;
	}

	public Integer getTotalArbPrivadoArbitraje() {
		return totalArbPrivadoArbitraje;
	}

	public void setTotalArbPrivadoArbitraje(Integer totalArbPrivadoArbitraje) {
		this.totalArbPrivadoArbitraje = totalArbPrivadoArbitraje;
	}

	public String getTotalLaboralContratacion() {
		return totalLaboralContratacion;
	}

	public void setTotalLaboralContratacion(String totalLaboralContratacion) {
		this.totalLaboralContratacion = totalLaboralContratacion;
	}

	public String getTotalLaboralArbitraje() {
		return totalLaboralArbitraje;
	}

	public void setTotalLaboralArbitraje(String totalLaboralArbitraje) {
		this.totalLaboralArbitraje = totalLaboralArbitraje;
	}

	public String getTotalLaboralDerechoAdm() {
		return totalLaboralDerechoAdm;
	}

	public void setTotalLaboralDerechoAdm(String totalLaboralDerechoAdm) {
		this.totalLaboralDerechoAdm = totalLaboralDerechoAdm;
	}

	public Integer getValorReglaAcademica() {
		return valorReglaAcademica;
	}

	public void setValorReglaAcademica(Integer valorReglaAcademica) {
		this.valorReglaAcademica = valorReglaAcademica;
	}

	public Integer getValorReglaLaboral() {
		return valorReglaLaboral;
	}

	public void setValorReglaLaboral(Integer valorReglaLaboral) {
		this.valorReglaLaboral = valorReglaLaboral;
	}

	public Integer getValorReglaDocencia() {
		return valorReglaDocencia;
	}

	public void setValorReglaDocencia(Integer valorReglaDocencia) {
		this.valorReglaDocencia = valorReglaDocencia;
	}

	public Integer getValorReglaArbPublico() {
		return valorReglaArbPublico;
	}

	public void setValorReglaArbPublico(Integer valorReglaArbPublico) {
		this.valorReglaArbPublico = valorReglaArbPublico;
	}

	public Long getValorReglaHorasMin() {
		return valorReglaHorasMin;
	}

	public void setValorReglaHorasMin(Long valorReglaHorasMin) {
		this.valorReglaHorasMin = valorReglaHorasMin;
	}

	
	
}
